<template>
	<view class="allfont">
		<view class="head-nav">
			<view @click="checkIndex(0)"> <text :class="navIndex==0?'activite':''">项目详情</text> </view>
			<view @click="checkIndex(1)"> <text :class="navIndex==1?'activite':''">施工记录</text></view>
			<view @click="checkIndex(2)"> <text :class="navIndex==2?'activite':''">工业材料</text></view>
		</view>
		<!-- 项目详情 -->
		<view class="">
			<view v-if="navIndex==0">
				<!-- 项目信息 -->
				<view class="prjdetail">
					<!-- 标题 -->
					<view class="prjdetail_title">
						<view class="prjdetailrsj">
							<view class="prjdetail_titleAimage" style="margin-top: 8rpx;"></view>
							<view class="titleViewActive" @click="broadlist">
								<text class="titie_font">{{getProject.prjName}}</text>
							</view>
							<!-- 点赞\分享 -->
							<view class="skthg">
								<!-- 点赞 -->
								<view @click="concernOne" class="imahahgView">
									<image :src="imgArr[0]" mode="widthFix" v-if="userShow">
										<image :src="imgArr[1]" mode="widthFix" v-if="!userShow" />
										<block>
											<text
												class="numberClick">({{getProject.focusCount>99?'99+' : getProject.focusCount || '0'}})</text>
										</block>
								</view>
								<!-- 分享 -->
								<button @click="appShare(getProject)" size="mini" type="default" open-type="share"
									class="button-share">
									<image src="http://106.14.56.171:15016/images/shareSolid.png" mode="widthFix">
								</button>
							</view>
						</view>
					</view>
					<!-- 内容 -->
					<view class="prj_top">
						<view @click="viewPhotos(getProject.coverPicUrl)">
							<fileImage :src="getProject.coverPicUrl_T" :className="['denttal']" />
						</view>
						<!-- 项目编号 服务类型 维修设备 -->
						<view class="topright">
							<!-- 项目编号 -->

							<view @tap="copy(getProject)"><text class="daswen">项目编号</text><text
									class="daswenti">{{getProject.prjCode}}</text>
							</view>
							<!-- 服务类型 -->
							<view><text class="daswen">服务类型</text><text
									class="daswenti">{{getProject.serviceCode_Zn}}</text></view>
							<!-- 维修设备 -->
							<view @click="getEquipment" v-if="getProject.deviceEpCode !=null">
								<text class="daswen">维修设备</text><text
									class="daswenti">{{getProject.deviceEpCode}}</text>
								<uni-icons style="margin-left: 5%;" type="forward" size="10">
								</uni-icons>
							</view>
							<view>
								<text class="daswen">项目状态</text>
								<text class="daswenti"
									v-if="getProject.prjStatus_Zn != '暂停中'">{{getProject.prjStatus_Zn}}</text>
								<text style="margin-left: 23rpx;"
									v-if="getProject.prjStatus_Zn == '已中止'">{{getProject.logTime?getProject.logTime.slice(0,10):''}}</text>
								<text style="margin-left: 18rpx;" class="daswenti"
									v-if="getProject.prjStatus_Zn =='施工中'&&getProject.prjType !='4' ">{{getProject.realityHours}}%</text>
								<text class="daswenti"
									v-if="getProject.prjStatus_Zn == '暂停中'">已暂停{{' '}}{{getProject.timeout}}</text>

							</view>

							<view v-if="getProject.prjStatus_Zn =='施工中' || getProject.prjStatus_Zn =='已完工'">
								<text class="daswen">预计交付</text>
								<text
									class="daswenti">{{getProject.planDeliverTime?getProject.planDeliverTime.slice(0,10):''}}</text>
							</view>


							<view v-if="getProject.logDesc != null && getProject.prjStatus == 3">
								<text class="daswen">暂停原因</text>
								<text class="daswenti">{{getProject.logDesc}}</text>
							</view>

							<view v-if="getProject.prjStatus_Zn=='已中止'">
								<text class="daswen">中止原因</text>
								<text class="daswenti">{{getProject.logDesc}}</text>
							</view>

						</view>
					</view>
					<!-- 最新进度 -->
					<view class="schedule">
						<!-- 甘特图 -->
						<stepeed :stepList="bindStepeed.stepList" :totalDay="bindStepeed.totalDay"></stepeed>
					</view>
				</view>
				<!-- 报修信息 -->
				<view class="prjdetail">
					<!-- 标题 -->
					<view class="prjdetail_title">
						<view class="prjdetail_titleleft">
							<view class="prjdetail_titleAimage"></view>
							<view> <text class="titie_font">报修信息</text></view>
						</view>
					</view>
					<!-- 内容 -->
					<view>
						<view>
							<view class="prjdetail_content">
								<view class="das">
									<text>业主方</text>
								</view>
								<view class="prjdetail_content_right">{{getProject.serviceOwner}}</view>
								<view @click="toContacts(2)"
									v-if="userObj.corpName == getProject.serviceOwner && getProject.serviceOwnerContact&&getProject.serviceOwnerContact.findIndex(item=>item.phone == userObj.phone)!=-1">
									<image class="prjdetail_titleimage"
										src="http://106.14.56.171:15016/images/prjdetail/u14.png" mode="widthFix">
									</image>
								</view>
							</view>
							<!-- 联系人 -->
							<view class="prjdetail_content_person">
								<view class="prjdetail_content_left"> </view>
								<view class="prjdetail_content_right" style="display: flex;flex-wrap: wrap;">
									<view class="projest-cyl" v-for="(item,index) in getProject.serviceOwnerContact"
										:key="item.id">
										<view>
											<text @click="callPhone(item)">{{item.name}} </text>
										</view>
										<!-- 点击删除联系人 -->
										<view>
											<image class="prjdetail_deleteimage"
												src="http://106.14.56.171:15016/images/delete.png" mode="widthFix"
												@click="deletingContact(item)"
												v-if="item.createBy == userInfo.id || item.phone == userInfo.phone && getProject.serviceOwnerContact.length!=1">
											</image>
										</view>
									</view>
								</view>
								<!-- 可添加联系人 -->
							</view>
						</view>
						<view v-if="getProject.serviceOwner != getProject.serviceBuyer">
							<view class="prjdetail_content">
								<view class="das">
									<text>委托方</text>
								</view>
								<view class="prjdetail_content_right">{{getProject.serviceBuyer}}</view>
								<!-- id -->
								<view @click="toContacts(1)"
									v-if="userObj.id == getProject.serviceBuyer && getProject.serviceBuyerContact.findIndex(item=>item.phone == userObj.phone)!=-1">
									<image class="prjdetail_titleimage"
										src="http://106.14.56.171:15016/images/prjdetail/u14.png" mode="widthFix">
									</image>
								</view>
							</view>
							<view class="prjdetail_content_person">
								<view class="prjdetail_content_left"> </view>
								<view class="prjdetail_content_right" style="display: flex;flex-wrap: wrap;">
									<view class="projest-cyl" v-for="(item,index) in getProject.serviceBuyerContact"
										:key="item.id">
										<view>
											<text @click="callPhone(item)">{{item.name}} </text>
										</view>
										<view>
											<image class="prjdetail_deleteimage"
												src="http://106.14.56.171:15016/images/delete.png" mode="widthFix"
												@click="deletingContact(item)"
												v-if="item.createBy == userObj.id && userObj.corpName == getProject.serviceOwner">
											</image>
										</view>
									</view>
								</view>
								<!-- 可添加联系人 -->
							</view>
						</view>
						<view class="prjdetail_content">
							<view class="das">
								<text>服务方</text>
							</view>
							<view class="prjdetail_content_right">{{getProject.serviceSeller_Zn}}</view>
							<view v-if="contactType == '3'">
								<image class="prjdetail_titleimage"
									src="http://106.14.56.171:15016/images/prjdetail/u14.png" mode="widthFix">
								</image>
							</view>
						</view>
						<view class="prjdetail_content_person">
							<view class="prjdetail_content_left"> </view>
							<view class="prjdetail_content_right" style="display: flex;flex-flow: wrap">
								<view style="margin-right: 10rpx;" class="projest-cyl"
									v-for="(item,index) in getProject.serviceSellerContact" :key="index">
									<text @click="callPhone(item)">{{item.name}} </text>
								</view>
							</view>
							<!-- 可添加联系人 -->
						</view>
						<view class="prjdetail_content" @click="getBuyerBillno">
							<view class="prjdetail_content_left">委托单号</view>
							<view class="prjdetail_content_righttwo">
								<text> {{getProject.buyerBillno || '暂无数据'}}
								</text>
								<image v-if="buyerObj.attchUsage==2" class="prjdetail_titleimagetwo"
									src="http://106.14.56.171:15016/images/prjdetail/u17.png" mode="widthFix">
								</image>
							</view>
						</view>
						<view class="prjdetail_content" style="align-items:flex-start">
							<view class="prjdetail_content_left">故障描述</view>
							<view
								:class="isHiddenDescription?'prjdetail_content_right vuehidden' :'prjdetail_content_right'"
								@click="isHiddenDescription= !isHiddenDescription">
								{{getProject.eqFallure || ''}}
							</view>
						</view>
						<view class="prjdetail_content" style="align-items:flex-start">
							<view class="prjdetail_content_left">维修要求</view>
							<view
								:class="isHiddenRequire?'prjdetail_content_right vuehidden' :'prjdetail_content_right'"
								@click="isHiddenRequire= !isHiddenRequire">
								{{getProject.requierment|| ''}}
							</view>
						</view>
					</view>
				</view>
				<!-- 温湿度曲线 -->
				<view class="prjdetail prTail" @click="entrance" v-if="deviceInfoLeength>0 || entrceTrue">
					<view class="prjdetail_titleleft">
						<view class="prjdetail_titleAimage"></view>
						<view>
							<text class="titie_font">温湿度曲线</text>
							<text v-if="deviceInfoLeength>0" >（{{deviceInfoLeength}}）</text>
						</view>
					</view>
					<image src="http://106.14.56.171:15016/images/u3063.png" mode="" />
				</view>
				<!-- 项目图片 -->
				<view class="prjdetail">
					<view class="prjdetail_title">
						<view class="prjdetail_titleleft">
							<view class="prjdetail_titleAimage"></view>
							<view> <text class="titie_font">项目图片</text></view>
						</view>

						<view class="liveVideo" @click="liveRedeo">
							<uni-icons type="videocam" size="30" color="#B4001E" v-if="livesVideo.length !=0">
							</uni-icons>
							<uni-icons v-if="livesVideo.length == 0" type="videocam" size="30" color="#D6D6D6">
							</uni-icons>
							<text class="textOne" v-if="livesVideo.length !=0">实时视频</text>
							<text class="textTwe" v-if="livesVideo.length == 0">实时视频</text>
						</view>
					</view>
					<view class="prj_imgs_content" @click="goToDatail">
						<block v-for="(item,index) in getProject.proImglist" :key="index">
							<view
								v-if="(index == getProject.proImglist.length-1 &&  getProject.proImglist.length<=3) || (getProject.proImglist.length>3 && index === 3)"
								class="prj_img_detail" :style="{backgroundImage: 'url(' + item.filePath_T + ')',
							                  'background-repeat': 'no-repeat',
							                  'background-size': '100% 100%',
											  'background-blend-mode':'multiply'
											  }">
								<text
									style="color: #fff;">共{{getProject.imgCount>999?'999+':getProject.imgCount|| ''}}张</text>
								<uni-icons color="#fff" type="forward" size="15">
								</uni-icons>
							</view>
							<fileImage :src="item.filePath_T" :className="['prj_img_detail']" v-else />
						</block>
						<view class="aaa noneData" v-if="getProject.proImglist.length == 0">
							<image src="http://106.14.56.171:15016/images/images(4)(1)/images/noMessige.png" mode="">
							</image>
							<text>暂无施工图片...</text>
						</view>
					</view>
				</view>
				<!-- 相关附件 -->
				<view class="prj_file">
					<view class="prjdetailAsbiu">
						<view class="prjdetail_titlelefta">
							<view class="prjdetail_titleAimage"></view>
							<view> <text class="titie_font">项目附件</text></view>
						</view>
					</view>
					<view class="file_content">
						<view class="file_flex" v-for="(it,index) in mapAccessory" :key="it.accessoryId">
							<view class="file_detail" v-if="it.attchUsage != 2" @click="getAccessory(it)">
								<view class="textImage">
									<image src="http://106.14.56.171:15016/images/prjdetail/u17.png" mode="widthFix">
									</image>
								</view>
								<view class="textView">
									<text>{{it.fileName}}</text>
									<text>{{it.createTime?it.createTime.slice(0,10):it.createTime}}</text>
								</view>
							</view>
						</view>
						<view class="bbb noneData" v-if="mapAccessory.length == 0">
							<image src="http://106.14.56.171:15016/images/images(4)(1)/images/noMessige.png" mode="">
							</image>
							<text>暂无数据...</text>
						</view>
					</view>
				</view>
				<!-- 项目评论 -->
				<view class="comment-padding" @click="clickMent">
					<view>
						<image src="../../../static/commnts.png" mode="" />
						<text>评论信息{{' '}}
							<text v-if="commentLength!=''">{{commentLength}}{{' '}}条</text>
						</text>
					</view>
					<image src="http://106.14.56.171:15016/images/u3063.png" />
				</view>
			</view>
		</view>
		<!-- 维修记录 -->
		<view v-if="navIndex==1">
			<view v-if="getProject.prjType == 1">
				<view class="head-naev">
					<!-- <text>{{lengthMores>=99?'99+':lengthMores}}</text> 显示99+  >0时显示 -->
					<view @click="checkRepair(1.1)"> <text :class="repair==1.1?'activitea':''">修复件<text class="textTwo"
								v-if="lengthMores>0">（{{lengthMores>=99?'99+':lengthMores}}）</text></text> </view>
					<view @click="checkRepair(1.2)"> <text :class="repair==1.2?'activitea':''">合格件<text class="textTwo"
								v-if="lengthMore>0">（{{lengthMore>=99?'99+':lengthMore}}）</text></text></view>
					<view @click="checkRepair(1.3)"> <text :class="repair==1.3?'activitea':''">设备检测</text></view>
				</view>
				<view>
					<!-- 修复件 -->
					<view v-if="repair==1.1">
						<repair :repairId="getProject.prjInfoId" v-on:lengthsd="lengthAu"></repair>
					</view>
					<!-- 合格件 -->
					<view v-if="repair==1.2">
						<qualified :qualified="getProject.prjInfoId" v-on:lengthsdd="lengthAuto"></qualified>
					</view>
					<!-- 设备检测 -->
					<view v-if="repair==1.3">
						<inspecion :PrjInfoId="getProject.prjInfoId"></inspecion>
					</view>
				</view>
			</view>
			<!-- 专项维修记录 -->
			<view v-if="getProject.prjType != 1">
				<view>
					<professio :prjectId="getProject.prjInfoId"></professio>
				</view>
			</view>
		</view>
		<!-- 工业材料 -->
		<view v-if="navIndex==2">
			<materials :materId="getProject.prjInfoId"></materials>
		</view>
	</view>
</template>

<script>
	import repair from '@/components/repair/repair.vue'
	import qualified from "@/components/repair/qualified.vue"
	import inspecion from "@/components/repair/inspecion.vue"
	import professio from "@/components/repair/professio.vue"
	import materials from "@/components/repair/materials.vue"
	import fileImage from '@/components/fileImage/fileImage.vue'
	import stepeed from '@/components/stepeed/stepeed.vue'
	import {
		Desensitized
	} from '../../../config/desensitization.js'
	import {
		CurrentRouter,
		timeSplice,
		getDiffDay,
		getNowTime,
		uniShareMethod
	} from '@/config/CurrentRouter.js'
	import {
		mapState,
		mapMutations
	} from 'vuex';
	import {
		baseMethod
	} from '@/config/method.js';
	export default {
		components: {
			repair,
			qualified,
			inspecion,
			professio,
			materials,
			fileImage,
			stepeed
		},
		data() {
			return {
				entrceTrue: true,
				deviceName: '', //获取项目温湿度设备
				deviceInfoLeength: '', //获取项目温湿度设备数量
				fadsNum: '',
				commentLength: '', //评论信息数据
				lengthMore: '',
				lengthMores: '',
				isHiddenDescription: true,
				isHiddenRequire: true,
				navIndex: 0, // 切换tabs页
				getDelit: {}, //获取当前点击的id，
				invoiceStatus: '', //传过来的开票状态
				settleStatus: '', //传过来的款
				getProject: {
					proImglist: []
				},
				info: {
					progress: 100,
				},
				depotList: [],
				mapAccessory: [],
				userShow: true,
				pdfUrl: '',
				ifpdf: false, // pdf打开方式改造使用 暂时不用
				repair: 1.1, // 切换tabs页 修复件合格件
				// prjScheme: 3,
				isFocus: 0, //是否关注 1关注，0未关注
				focusCount: 0, //关注人数量
				imgArr: ["http://106.14.56.171:15016/images/redEdges.png",
					"http://106.14.56.171:15016/images/prjdetail/collect.png"
				],
				materialsHength: 0,
				userObj: {},
				contactType: 1,
				num: 1,
				buyerObj: {}, //委托单号的对象
				list: [], //联系人
				contact: true, //是自己添加得就为true
				userId: '',
				livesVideo: [], //实时视频
				bindStepeed: {}, // 进度

			}
		},
		onLoad: function(option) { //option为object类型，会序列化上个页面传递的参数
			// console.log(option, '////////////////////////////////')
			this.getDelit = option;
			this.invoiceStatus = option.invoiceStatus;
			this.settleStatus = option.settleStatus
		},
		onShow() {
			this.getDetail();
			if (uni.getStorageSync("accessToken")) {
				this.comMentDateil();
				//this.tempEquipment(); //温湿度曲线获取设备
			}
		},
		computed: {
			...mapState(['userInfo'])
		},
		onShareAppMessage(options) {
			// let userCode = CurrentRouter({})
			// if (userCode) return
			const {
				coverPicUrl,
				prjName
			} = this.getProject
			return {
				title: prjName,
				path: `/pages/project/project_detail/project_detail?id=${this.getDelit.id}&name=${prjName}`,
				imageUrl: coverPicUrl
			}
		},
		onShareTimeline(options) {
			const {
				coverPicUrl,
				prjName
			} = this.getProject
			return {
				title: prjName,
				query: `/pages/project/project_detail/project_detail?id=${this.getDelit.id}&name=${prjName}`,
				imageUrl: coverPicUrl
			}
		},

		methods: {
			// 获取子组件传过来的 合格件数量
			lengthAuto(val) {
				this.lengthMore = val
			},
			// 获取子组件传过来的 修复件数量
			lengthAu(vel) {
				// console.log('==----=--=---=-', vel);
				this.lengthMores = vel

			},
			// #ifdef APP-PLUS || H5
			// uniApp分享到微信
			appShare(getProject) {
				let userCode = CurrentRouter({})
				if (userCode) return
				uniShareMethod({
					path: `pages/project/project_detail/project_detail?id=${this.getDelit.id}`,
					share: {
						imageUrl: getProject.coverPicUrl_T,
						title: getProject.prjName,
					}
				}).then(res => {}).catch(err => {})
			},
			// #endif
			// 点击打开封面照片
			// 要加个判断,如果不加判断,也可以,但苹果手机点击空白的照片时,返回不了页面
			viewPhotos(coverPicUrl) {
				console.log('点击打开封面照片', coverPicUrl);
				if (!coverPicUrl) {
					uni.showToast({
						title: '暂无图片',
						icon: 'none'
					})
					return;
				}
				uni.previewImage({ // 预览图片  图片路径必须是一个数组
					current: 0,
					urls: [coverPicUrl]
				})
			},
			getDetail() {
				this.$http.get('api/Project/GetProjectDetail?PrjInfoId=' + this.getDelit.id).then((res) => {
					// console.log('进度条数据判断', res)

					// timeSplice(res.actFinishTime,'1','/')
					// return
					this.invoiceStatus = res.invoiceStatus
					this.settleStatus = res.settleStatus
					if (uni.getStorageSync("accessToken")) {
						this.liveVideos(res.prjCode) //获取项目实时视频
						this.tempEquipment(res.prjCode);
						this.entrceTrue = false;
					}
					// 进度条数据判断
					let percentage = 0 // 项目进度
					// 状态 2 施工中,3 暂停,6终止用 实际/限额 如果结果大于100 用99
					if (['2', '3', '6'].includes(res.prjStatus)) {
						if (res.planHours <= 0) percentage = 0
						else {
							let numTage = (res.realityHours / res.planHours) * 100
							// console.log(numTage, '================================')
							if (Number(numTage) >= 100) percentage = 99
							else if (Number(numTage) < 1) percentage = 1
							else percentage = Math.trunc((numTage))
						}
					} else if (['0', '1'].includes(res.prjStatus)) {
						// 状态为  0或者1 直接为0
						percentage = 0
					} else {
						// 其他为100
						percentage = 100
					}
					res.realityHours = percentage;

					// ********************************************////////////////////

					let num = 0 // 记录每个时间段没有时间
					let currenttime = getNowTime() // 当前时间
					// console.log(currenttimem)

					let projectTime = 0 // 立项时间和开始时间差
					let startTime = 0 // 开始时间和完工时间差
					let actFinishTime = 0 // 开始时间和交付时间差
					let invoicingTime = 0 // 交货时间差和开票时间
					let collecTime = 0 // 开票时间和回款时间差
					let periodTime = res.createTime // 记录有时间的某一项

					// let projectName = '' // 立项文案
					let actFinishName = '' // 完工底部文案
					let actDeliverName = '' // 交付底部文案
					let inInvName = '' // 开票底部文案
					let setName = '' // 回款底部文案 

					// ---------------------- 计算时间、时间差和展示文案  --------------------//
					// 如果没有开始时间
					if (!res.startTime) {
						res.startTime = currenttime
						periodTime = currenttime
					}

					// 没有开始时间就选择当前时间
					if (!res.startTime) {
						// code.startTime = currenttime
						// projectName = ''
						projectTime = 0
					} else if (res.startTime) {
						// 有当前时间啦
						let numTime = getDiffDay(periodTime, res.startTime)
						projectTime = numTime <= 0 ? 1 : numTime
						// projectName = timeSplice(res.startTime,'4','/')
						periodTime = res.startTime
					} else {
						startTime = 0
					}

					// 没有完工时间就选择当前时间
					if (!res.actFinishTime) {
						// res.actFinishTime = currenttime
						actFinishName = ''
						startTime = 0
					} else if (res.actFinishTime) {
						// 有当前时间啦
						let numTime = getDiffDay(periodTime, res.actFinishTime)
						startTime = numTime <= 0 ? 1 : numTime
						actFinishName = timeSplice(res.actFinishTime, '4', '/')
						periodTime = res.actFinishTime
					} else {
						startTime = 0
					}
					// 没有交付时间就选择当前时间并且之前时间都有
					if (!res.actDeliverTime) {
						// res.actDeliverTime = currenttime
						actDeliverName = ''
						actFinishTime = 0
					} else if (res.actDeliverTime) {
						// 有当前时间啦
						let numTime = getDiffDay(periodTime, res.actDeliverTime)
						actFinishTime = numTime <= 0 ? 1 : numTime
						actDeliverName = timeSplice(res.actDeliverTime, '4', '/')
						periodTime = res.actDeliverTime
					} else {
						actFinishTime = 0
					}

					// 没有开票时间就选择当前时间并且之前时间都有
					if (!res.inInvTime) {
						// res.inInvTime = currenttime
						inInvName = ''
						invoicingTime = 0
					} else if (res.inInvTime) {
						// 有当前时间啦
						let numTime = getDiffDay(periodTime, res.inInvTime)
						invoicingTime = numTime <= 0 ? 1 : numTime
						inInvName = timeSplice(res.inInvTime, '4', '/')
						periodTime = res.inInvTime
					} else {
						invoicingTime = 0
					}

					// 没有回款时间就选择当前时间并且之前时间都有
					if (!res.setTime) {
						res.setTime = currenttime
						setName = '今天'
						let numTime = getDiffDay(periodTime, currenttime)
						collecTime = numTime <= 0 ? 1 : numTime
					} else if (res.setTime) {
						// 有当前时间啦
						let numTime = getDiffDay(periodTime, res.setTime)
						collecTime = numTime <= 0 ? 1 : numTime
						setName = timeSplice(res.setTime, '4', '/')
						periodTime = res.setTime
					} else {
						collecTime = 0
					}

					// ---------------------- 当前进度  --------------------// 
					let projectWidth = 100 // 立项到开始进度
					let startWidth = 0 // 开始到完工进度
					let deliverWidth = 0 // 完工到交付进度
					let invoWidth = 0 // 交付到开票进度
					let collWidth = 0 // 开票到回款进度
					let alone = true // true 表示是否显示单独的进度


					// 开始到交付进度
					if (res.prjStatus == '1') { // 待施工
						startWidth = 0
						deliverWidth = 0
					} else if (res.prjStatus == '2') { // 施工中
						startWidth = percentage
						deliverWidth = 0
					} else if (res.prjStatus == '3') { // 暂停中
						alone = false
						startWidth = percentage
						deliverWidth = 0
					} else if (res.prjStatus == '4') { // 已完工
						startWidth = 100
						deliverWidth = 0
					} else if (res.prjStatus == '5') { // 已收货
						startWidth = 100
						deliverWidth = 100
					} else if (res.prjStatus == '6') { // 已终止
						alone = false
						startWidth = percentage
						deliverWidth = 0
					} else if (res.prjStatus == '8') { // 代签收
						startWidth = 100
						deliverWidth = 50
					}

					// 交付到开票进度
					if (res.invoiceStatus == 0) { // 未开票
						invoWidth = res.invoiceRatio ? res.invoiceRatio * 100 : 0
					} else if (res.invoiceStatus == 1) { // 已开票
						invoWidth = res.invoiceRatio ? res.invoiceRatio * 100 : 0
					} else if (res.invoiceStatus == 2) { // 全额开票
						invoWidth = res.invoiceRatio ? res.invoiceRatio * 100 : 0
					}

					// 开票到回款进度
					if (res.settleStatus == 0) { // 未回款
						collWidth = res.settleRatio ? res.settleRatio * 100 : 0
					} else if (res.settleStatus == 1) { // 已回款
						collWidth = res.settleRatio ? res.settleRatio * 100 : 0
					} else if (res.settleStatus == 2) { // 全额回款
						collWidth = res.settleRatio ? res.settleRatio * 100 : 0
					}

					if (startTime <= 0 && num == 0) {
						startTime = collecTime
						collecTime = 0
						num++
					}
					if (actFinishTime <= 0 && num == 0) {
						actFinishTime = collecTime
						collecTime = 0
						num++
					}
					if (invoicingTime <= 0 && num == 0) {
						invoicingTime = collecTime
						collecTime = 0
						num++
					}
					let bindStepeed = {}
					bindStepeed.stepList = [{
							name: '立项',
							yeartime: timeSplice(res.createTime, '7'),
							showClose: false,
							backWidth: `${projectWidth}%`,
							time: timeSplice(res.createTime, '4', '/'),
							daytime: `${projectTime <= 0 ? '':`${projectTime}天`}`
						}, // projectTime
						{
							name: '开工',
							yeartime: timeSplice(res.startTime, '7'),
							showClose: true,
							backWidth: `${startWidth}%`,
							time: timeSplice(res.startTime, '4', '/'),
							daytime: `${startTime <= 0 ? '':`${startTime}天`}`
						}, // startTime
						{
							name: '完工',
							yeartime: timeSplice(res.actFinishTime, '7'),
							showClose: true,
							backWidth: `${deliverWidth}%`,
							time: actFinishName,
							daytime: `${actFinishTime <= 0 ? '':`${actFinishTime}天`}`
						}, // actFinishTime
						{
							name: '交货',
							yeartime: timeSplice(res.actDeliverTime, '7'),
							showClose: true,
							backWidth: `${invoWidth}%`,
							time: actDeliverName,
							daytime: `${invoicingTime <= 0 ? '':`${invoicingTime}天`}`
						}, // actDeliverTime
						{
							name: '开票',
							yeartime: timeSplice(res.inInvTime, '7'),
							showClose: true,
							backWidth: `${collWidth}%`,
							time: inInvName,
							daytime: `${collecTime <= 0 ? '':`${collecTime}天`}`
						}, // inInvTime
						{
							name: '回款',
							yeartime: timeSplice(res.setTime, '7'),
							showClose: true,
							backWidth: `0%`,
							time: setName,
							daytime: ''
						}, // setTime
					]
					bindStepeed.totalDay = `${projectTime+startTime+actFinishTime+invoicingTime+collecTime}天`
					this.bindStepeed = bindStepeed
					// ****************************************************************************/

					if (!res.timeout) return;
					let pushTime = new Date(res.timeout).getTime()
					let TimeDifference = this.getDateDiff(pushTime);
					res.timeout = TimeDifference;

					// 业主方委托方
					if (Array.isArray(res.serviceBuyerContact) && res.serviceBuyerContact.length > 0) {
						res.serviceBuyerContact = res.serviceBuyerContact.map(code => {
							return {
								...code,
								name: Desensitized.desensitizedName(code.name)
							}
						})
					}
					// 业主方
					if (Array.isArray(res.serviceOwnerContact) && res.serviceOwnerContact.length > 0 && res
						.serviceOwnerContact.findIndex(item => item.phone == this.userInfo.phone)
					) {
						res.serviceOwnerContact = res.serviceOwnerContact.map(code => {
							// console.log('打印code', code, this.userInfo);
							return {
								...code,
								name: this.userInfo.phone == code.phone ? code.name : Desensitized
									.desensitizedName(code.name)
							}
						})
					}
					// 服务方
					if (Array.isArray(res.serviceSellerContact) && res.serviceSellerContact.length > 0) {
						res.serviceSellerContact = res.serviceSellerContact.map(code => {
							return {
								...code,
								name: Desensitized.desensitizedName(code.name)
							}
						})
					}
					this.getProject = res
					//js filter过滤，过滤掉不等于2的filter(item => item.attchUsage != 2)
					this.mapAccessory = res.fileList.filter(item => item.attchUsage != 2)
					res.fileList.forEach(item => {
						if (item.attchUsage == 2) {
							this.buyerObj = item
						}
					})
					if (this.getProject.isFocus == 1) {
						this.userShow = false;
					} else {
						this.userShow = true;
					}
					uni.setNavigationBarTitle({
						title: res.prjName
					});
				})
				this.userObj = this.userInfo
				// console.log(this.userObj);
			},
			// 当前时间-推送时间
			getDateDiff(dateTimeStamp) {
				var result = ''
				var minute = 1000 * 60
				var hour = minute * 60
				var day = hour * 24
				var month = day * 30
				var year = month * 12 //年
				var now = new Date().getTime()
				var diffValue = now - dateTimeStamp
				if (diffValue < 0) return
				var yearC = diffValue / year //年
				var monthC = diffValue / month //月
				var weekC = diffValue / (7 * day) //周
				var dayC = diffValue / day //天
				var hourC = diffValue / hour //小时
				var minC = diffValue / minute //分
				if (dayC >= 1) {
					result = "" + parseInt(dayC) + "天"
				} else if (hourC >= 1) {
					result = "" + parseInt(hourC) + "小时"
				} else if (minC >= 1) {
					result = "" + parseInt(minC) + "分钟"
				} else {
					result = "刚刚"
				}
				return result
			},
			//附件
			// #ifdef APP-PLUS || MP-WEIXIN
			getAccessory(index) {
				let userCode = CurrentRouter({})
				if (userCode) return
				// // 打开附件
				uni.showLoading({
					title: '加载中···',
					mask: true,
					icon: 'loading'
				})
				uni.downloadFile({
					url: index.filePath,
					success: function(res) {
						var filePath = res.tempFilePath;
						uni.openDocument({
							filePath: filePath,
							showMenu: true,
							success: function(res) {
								uni.hideLoading()
							},
							fail: function() {
								uni.hideLoading()
								uni.showToast({
									title: '文件打开失败',
									icon: 'error'
								})
							}
						});
					},
					fail: function() {
						uni.hideLoading()
						uni.showToast({
							title: '附件下载失败',
							icon: 'error'
						})
					}
				});
			},
			// #endif
			//打开委托单号的附件
			getBuyerBillno() {
				let userCode = CurrentRouter({})
				if (userCode) return
				if (this.buyerObj.attchUsage == 2) {
					// 打开附件
					uni.showLoading({
						title: '加载中···',
						mask: true,
						icon: 'loading'
					})
					uni.downloadFile({
						url: this.buyerObj.filePath,
						success: function(res) {
							var filePath = res.tempFilePath;
							uni.openDocument({
								filePath: filePath,
								showMenu: true,
								success: function(res) {
									uni.hideLoading()
								},
								fail: function() {
									uni.hideLoading()
									uni.showToast({
										title: '文件打开失败',
										icon: 'error'
									})
								}
							});
						},
						fail: function() {
							uni.hideLoading()
							uni.showToast({
								title: '附件下载失败',
								icon: 'error'
							})
						}
					});
				}
			},
			//点击联系人打电话
			callPhone(item) {
				// uni.makePhoneCall({
				// 	phoneNumber: item.phone //仅为示例
				// });
			},
			//点击图标删除联系人
			deletingContact(item) {
				// console.log(item);
				this.$http.post('api/Project/DeleteProjectContacts', {
					id: item.id
				}).then((res) => {
					console.log('点击删除联系人', res);
					this.getDetail()
				})
			},
			// 实时视频
			liveVideos(prjCodeh) {
				// console.log('获取项目实时视频', prjCodeh);
				let data = {
					prjCode: prjCodeh
				}
				this.$http.get('api/Project/GetVideoList', data).then(res => {
					this.livesVideo = res
					// console.log('获取项目实时视频json', this.livesVideo);
				})
			},
			liveRedeo() {
				let userCode = CurrentRouter({})
				if (userCode) return
				if (this.livesVideo.length == 0) {
					uni.showToast({
						title: '暂无实时视频',
						icon: 'none',
					})
				} else {
					uni.navigateTo({
						url: '../../video/live_video?item=' + JSON.stringify(this.livesVideo)
					})
				}
			},
			//点击跳转图册
			goToDatail() {
				uni.navigateTo({
					url: './../project_img/project_album?id=' + this.getProject.prjInfoId + '&name=图库' +
						'&prjName=' + this.getProject.prjName
				});
			},
			//切换tab页
			checkIndex(value) {
				this.navIndex = value;
			},
			//修复/合格件tab切换
			checkRepair(val) {
				this.repair = val
			},
			//设备信息
			getEquipment() {
				uni.navigateTo({
					url: '../../modules/project_equipment?epCode=' + this.getProject.deviceEpCode
				});
			},
			// 评论信息
			clickMent() {
				let userCode = CurrentRouter({})
				if (userCode) return
				const {
					prjCode,
					prjInfoId
				} = this.getProject
				uni.navigateTo({
					url: `/pages/project/project_detail/comment?PrjInfoId=${prjInfoId}&PrjInfoCode=${prjCode}`
				})
			},
			// 点击复制项目编号
			copy(getProject) {
				console.log('点击复制项目编号', getProject.prjCode);
			},
			//点击关注关注人
			addFocus() {
				this.$http.post('api/ProjectFocus/AddFocus', {
					prjCode: this.getProject.prjCode
				}).then(res => {})
			},
			// 点击取消关注人
			cancelFocus() {
				this.$http.post('api/ProjectFocus/CancelFocus', {
					prjCode: this.getProject.prjCode
				}).then(res => {})
			},
			//  环氧甘特图
			clickChart() {
				const {
					prjInfoId,
					prjName
				} = this.getProject
				uni.navigateTo({
					url: `/pages/epoxyfile/gantchart?code=${prjInfoId}&name=${prjName}`
				})
			},
			//跳转到联系人列表
			toContacts(index) {
				console.log(index, '88888');
				uni.navigateTo({
					url: '../../modules/contactsList?arr=' + JSON.stringify(this.getProject) + '&index=' + index +
						'&id=' +
						this.getDelit.id
				})
			},
			broadlist() {
				uni.navigateTo({
					url: '../../broadcast/broadlist'
				})
			},
			// 获取评论信息几条数据
			comMentDateil() {

				this.$http.get(`api/Project/GetProjectComment?prjInfoId=${this.getDelit.id}`).then(res => {
					this.commentLength = res.length
					// console.log(this.commentLength, 1116);
				})
			},
			concernOne() {
				let userCode = CurrentRouter({})
				if (userCode) return
				// #ifdef APP-PLUS || H5
				this.focusProject()
				// #endif
				// #ifdef MP-WEIXIN 
				if (this.userShow == true) {
					this.promber()
				} else {
					this.focusProject()
				}
				// #endif
			},

			// 关注项目
			focusProject() {
				let userCode = CurrentRouter({})
				if (userCode) return
				if (this.getProject.isFocus == 1) {
					var _that = this
					if (_that.userShow) {
						this.userShow = !this.userShow;
						this.isFocus = 1
						this.getProject.focusCount++
						this.addFocus();
					} else {
						uni.showModal({
							title: '提示',
							content: '确定取消关注此项目吗',
							success: function(res) {
								if (res.confirm) {
									console.log('用户点击确定');
									_that.userShow = !_that.userShow;
									_that.isFocus = 0
									_that.getProject.focusCount--
									_that.cancelFocus();
									console.log(_that.userShow);
								} else if (res.cancel) {
									console.log('用户点击取消');
								}
							}
						});
					}

				} else {
					if (this.userShow) {
						this.userShow = !this.userShow;
						this.isFocus = 1
						this.getProject.focusCount++
						this.addFocus();
					} else {
						this.userShow = !this.userShow;
						this.isFocus = 0
						this.getProject.focusCount--
						this.cancelFocus();
					}
				}
			},
			// 订阅通知
			promber() {
				var _that = this
				uni.requestSubscribeMessage({
					tmplIds: ['08eXIMrjBQRvMd1iI5mS7kAYjiA-5Stl4nVTV2EMDIE'],
					success(res) {
						//值包括'accept':同意、'reject':拒绝、'ban':后台禁用
						let reject = Object.values(res)[0]
						if (reject == 'accept' && res.errMsg == 'requestSubscribeMessage:ok') {
							uni.getSetting({
								withSubscriptions: true,
								success(res) {
									if (res.subscriptionsSetting.mainSwitch || res.subscriptionsSetting
										.itemSettings != null) {
										_that.focusProject()
									} else {
										console.log('取消');
									}
								}
							})
						}
					}
				})
			},
			/**
			 * 时间：2023/04/04
			 * 功能：温湿度曲线获取设备
			 * 接口：api/PrjHumitureDevice/GetPrjHumitureDeviceInfo 'ZX23030583'
			 */
			tempEquipment(prjCode) {
				let data = {
					prjCode: prjCode,
				}
				this.$http.get('api/PrjHumitureDevice/GetPrjHumitureDeviceInfo', data).then((res => {
					this.deviceName = res;
					this.deviceInfoLeength = res.length
					// console.log(this.deviceInfoLeength, '获取项目温湿度设备');
				}))
			},
			// 温湿度曲线入口
			entrance() {
				let userCode = CurrentRouter({})
				if (userCode) return
				let enList = JSON.stringify(this.deviceName);
				uni.navigateTo({
					url: '/pages/project/project_detail/entrance?item=' + enList
				})

			}
		}
	}
</script>

<style lang="less" scoped>
	.project_box {
		margin-top: 15rpx;
		width: 96%;
		height: 200rpx;
		border-radius: 24rpx;
		margin-left: 2%;
		margin-bottom: 20rpx;
	}

	.allfont {
		font-size: 30rpx;
		font-family: '微软雅黑 Bold', '微软雅黑';
		// margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.comment-padding {
		width: 96%;
		margin: auto;
		margin-top: 20rpx;
		background-color: #fff;
		border-radius: 15rpx;
		display: flex;
		align-items: center;
		flex-direction: row;
		justify-content: space-between;

		view {
			width: 260rpx;
			height: 80rpx;
			display: flex;
			align-items: center;
			justify-content: space-around;
			font-size: 26rpx;
		}

		>image {
			margin-right: 30rpx;
			width: 10rpx;
			height: 20rpx;
		}

		>view:nth-child(1) {
			>image {
				width: 45rpx;
				height: 45rpx;
			}
		}
	}

	/deep/.uni-list-item {
		border-radius: 15rpx;
		padding-left: -30rpx;
	}

	.list_top {
		height: 40rpx;
		padding-top: 10rpx;
		/* background-color: palegoldenrod; */
		display: flex;
		flex-direction: row;
		justify-content: space-between
	}

	.button-share {
		background-color: #fff;
		line-height: normal;
		width: 40%;
		height: 40rpx;
		display: flex;
		align-items: center;
		flex-direction: column;
		justify-content: space-around;

		image {
			width: 15px;
			vertical-align: middle;
		}
	}

	.button-share::after {
		border: none;
	}

	.list_left {
		/* background-color: palegreen; */
		padding-left: 4%;
	}

	.list_left image {
		float: left;
		margin-top: 5rpx;
		margin-right: 15rpx;
		width: 36rpx;
		height: 36rpx;
	}

	.list_left text {
		box-shadow: none;
		font-family: '微软雅黑 Bold', '微软雅黑';
		font-weight: 700;
		font-style: normal;
		font-size: 30rpx;
	}

	.list_right {
		padding-right: 4%;
		/* background-color: palegreen; */
	}

	.list_right image {
		margin-left: 15rpx;
		width: 10rpx;
		height: 20rpx;
	}

	.list_right text {
		display: inline-block;
		background-color: #ecf4f0;
		height: 40rpx;
		width: 120rpx;
		font-size: 24rpx;
		color: #3E9265;
		border-radius: 20rpx;
		text-align: center;
	}

	.list_base {
		margin-top: 20rpx;
		height: 120rpx;
		/* background-color: brown; */
		display: flex;
		flex-direction: row;
	}

	.base_left {
		width: 20%;
		margin-left: 4%;
	}

	.base_right {
		width: 80%;
	}

	.base_right text {
		font-size: 26rpx;
		color: #333;
	}

	.base_right view {
		height: 35rpx;
		margin-top: 5rpx;
		width: 100%;
	}

	.base_right_materials {
		width: 80%;
	}

	.base_right_materials view {
		height: 46%;
		margin-top: 5rpx;
		width: 100%;
	}

	.list_base .base_left image {
		width: 116rpx;
		height: 116rpx;
	}

	.base_right_text {
		font-size: 26rpx;
		color: #616161;
		margin-right: 2%;
	}


	.head-nav {
		height: 80rpx;
		display: flex;
		justify-content: center;
		background-color: #fff;

		view {
			display: flex;
			justify-content: center;
			margin-top: 20rpx;
			width: 33%;
			font-weight: 500;
		}
	}

	.head-naev {
		display: flex;
		justify-content: space-around;
		// background-color: aqua;

		>view {
			display: flex;
			justify-content: center;
			margin-top: 20rpx;
			width: 30%;
			font-weight: 500;
			line-height: 30rpx;
			font-size: 26rpx;

			.textTwo {
				margin-left: 5rpx;
			}
		}
	}

	.activitea {
		padding: 3rpx 0 3rpx 0;
		text-align: center;
		width: 180rpx;
		height: 30rpx;
		color: #B4001E;
		border: 1px solid #B4001E;
		border-radius: 30rpx;
	}

	// 项目详情下面的横杆
	.activite {
		color: #B4001E;
		padding-bottom: 30rpx;
		border-bottom: #B4001E solid 8rpx;
	}

	.prj_top {
		display: flex;
		width: 100%;
		margin-top: 20rpx;
		// background-color: #3E9265;

		>view:nth-child(1) {
			width: 30%;
		}

		// 项目编号 服务类型 维修设备
		>view:nth-child(2) {
			width: 60%;
			font-size: 14px;
			display: flex;
			flex-direction: column;
		}
	}

	// 项目编号 服务类型 维修设备
	.topright>view {
		width: 100%;
		// background-color: aqua; 


		>text:nth-child(2) {
			margin-left: 20rpx;
		}
	}

	.threeStates {
		margin-top: 10rpx;
		display: flex;

		.grey {
			background-color: #ecf4f0;
			color: #3E9265;
			margin-left: 10rpx;
		}

		.redTime {
			margin-left: 10rpx;
			color: #DC143C;
			background-color: #fbe9ec;
		}

	}

	.threeStates>view {
		width: 160rpx;
		background-color: #ecf4f0;
		border-radius: 80rpx;
		font-size: 24rpx;
		color: #3E9265;
		line-height: 35rpx;
		text-align: center;
	}



	.viewType {
		margin-left: 10rpx;
	}

	.schedule {
		background-color: #f5f5f5;
		margin-top: 15rpx;
		width: 96%;
		margin-left: 2%;
		display: flex;
		flex-direction: column;
		border-radius: 15rpx;
		padding: 15rpx 0 15rpx 0;


		.projectName {
			margin-right: 12rpx;
			font-size: 24rpx;
		}

		.settleStatu {
			margin-left: 20rpx;
		}
	}

	.prjdetail {
		width: 96%;
		margin-left: 2%;
		margin-top: 15rpx;
		padding: 25rpx 0;
		background-color: #fff;
		border-radius: 15rpx;
	}

	.prTail {
		display: flex;
		align-items: center;

		>image {
			margin-right: 20px;
			width: 10rpx;
			height: 20rpx;
		}
	}

	.prjdetailAsbiu {
		display: flex;
		width: 100%;
		align-items: center;
		flex-direction: row;
		// background-color: aqua;
	}

	.prjdetail_title {
		width: 100%;
		display: flex;
		align-items: center;
		flex-direction: row;
		// background-color: aqua;
	}

	.liveVideo {
		margin-left: -180rpx;
		width: 210rpx;
		display: flex;
		align-items: center;
		font-size: 26rpx;

		.textOne {
			color: #B4001E;
			margin-left: 10rpx;
		}

		.textTwe {
			color: #D6D6D6;
			margin-left: 10rpx;
		}


	}

	.prjdetail_titlelefta {
		margin-left: 3.25%;
		margin-top: 20rpx;
		width: 97%;
		display: flex;
		flex-direction: row;
		align-items: center;
	}

	.prjdetail_titleleft {
		margin-left: 3.25%;
		width: 97%;
		display: flex;
		flex-direction: row;
		align-items: center;

	}

	.prjdetailrsj {
		margin-left: 3.25%;
		width: 97%;
		display: flex;
		flex-direction: row;

	}

	.prjdetail_titleimagetwo {
		width: 25rpx;
		margin-left: 4.25%;
	}

	.prjdetail_titleimage {
		position: relative;
		width: 36rpx;
		margin-right: 3.25%;
	}

	.prjdetail_deleteimage {
		width: 26rpx;
		margin-right: 3.25%;
	}

	.prjdetail_titleAimage {
		width: 13rpx;
		margin-right: 2%;
		height: 28rpx;
		background-color: #b5001e;
	}

	.prjdetail_titleright {
		padding-right: 3%;
		width: 25%;
		color: #B4001E;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		// background-color: red;
	}

	.prjdetail_content {
		display: flex;
		align-items: center;
		margin-top: 18rpx;

	}

	.prjdetail_content_person {
		display: flex;
	}

	.flex_top {
		align-items: flex-start;
	}

	.prjdetail_content_left {
		width: 24%;
		display: flex;
		justify-content: flex-end;
		font-size: 14px;
		// background-color: aqua;
		font-size: 26rpx;
		color: #999999;
	}

	.das {
		margin-left: 72rpx;
		width: 14%;
		font-size: 26rpx;
		color: #999999;
		text-align-last: justify;
	}

	.daswen {
		font-size: 26rpx;
		color: #999999;
	}

	.daswenti {
		font-size: 26rpx;
		color: #333333;
	}

	.prjdetail_content_right {
		width: 66%;
		padding-left: 3%;
		font-size: 26rpx;
		color: #333333;
		// background-color: #3E9265;
	}

	.prjdetail_content_left_repairs {
		display: flex;
		color: #ccc;
		justify-content: flex-end;
		margin-left: 5%;
		font-size: 14px;
	}


	.prjdetail_content_righttwo {
		width: 66%;
		padding-left: 3%;
		display: flex;
		font-size: 26rpx;
		align-items: center;
	}

	.titleView {
		width: 500rpx;
		height: 40rpx;
		overflow: hidden; //超出部分隐藏
		-webkit-line-clamp: 2; //显示几行
		text-overflow: ellipsis; //超出部分显示省略号
		display: -webkit-box; //将对象作为弹性伸缩盒子模型显示
		-webkit-box-orient: vertical; //设置或检索伸缩盒对象的子元素的排列方式 纵向
	}

	.titleViewActive {
		width: 75%;
		// background-color: aquamarine;
		word-wrap: break-word;
	}

	// 点赞\分享
	.skthg {
		width: 40%;
		// height: 40rpx;
		display: flex;
		justify-content: space-around;
		margin-left: 40rpx;
		// background-color: aqua;

		.imahahgView>image {
			width: 35rpx;
			height: 35rpx;
			margin: 1px;
		}

		.numberClick {
			position: relative;
			left: 6rpx;
			top: -10rpx;
		}
	}

	.titie_font {
		font-size: 30rpx;
		font-weight: 600;
	}

	.prjdetail_content_right_time {
		width: 60%;
		padding-left: 3%;
	}

	.user-insert-line {
		width: 90%;
		margin-left: 5%;
		height: 1rpx;
		/* background-color: #ccc; */
		border-bottom: 1rpx #e9e9e9 solid;
		margin-top: 10rpx;
	}



	.repairs {
		background-color: #fff;
		width: 96%;
		margin-top: 25rpx;
		padding-bottom: 25rpx;
		margin-left: 2%;
		border-radius: 15rpx;
	}

	.vuehidden {
		overflow: hidden; //超出部分隐藏
		-webkit-line-clamp: 2; //显示几行
		text-overflow: ellipsis; //超出部分显示省略号
		display: -webkit-box; //将对象作为弹性伸缩盒子模型显示
		-webkit-box-orient: vertical; //设置或检索伸缩盒对象的子元素的排列方式 纵向

	}

	.hidden {
		overflow: hidden; //超出部分隐藏
		-webkit-line-clamp: 1; //显示几行
		text-overflow: ellipsis; //超出部分显示省略号
		display: -webkit-box; //将对象作为弹性伸缩盒子模型显示
		-webkit-box-orient: vertical; //设置或检索伸缩盒对象的子元素的排列方式 纵向

	}

	.common_imgage {
		width: 30rpx;
		height: 30rpx;
	}

	.common_content {
		display: flex;
		height: 80rpx;
		background-color: #fff;
		margin-top: 10rpx;
		align-items: center;
		flex-direction: row;
		justify-content: space-between;
	}

	.common_left {
		display: flex;
		align-items: center;
		margin-left: 3%;
		width: 50%;
	}

	.common_left image {
		padding-right: 5%;
	}

	.triangle {
		padding-right: 5%;
	}

	.prj_imgs {
		background-color: #fff;
		margin-top: 25rpx;
		width: 96%;
		margin-left: 2%;
		border-radius: 15rpx;
	}

	.prj_file {
		background-color: #fff;
		margin-top: 25rpx;
		border-radius: 15rpx;
		width: 96%;
		margin-left: 2%;
		// padding-bottom: 16rpx;

		.file_content {
			display: flex;
			flex-wrap: wrap;

			.file_detail {
				margin-top: 10rpx;
				margin-bottom: 10rpx;
				width: 350rpx;
				display: flex;
				align-items: center;
				justify-content: left;

				view {
					margin-left: 5%;
					display: flex;
					flex-direction: column;

					.one {
						display: inline-block;
						width: 120px;
						white-space: nowrap;
						overflow: hidden;
						text-overflow: ellipsis;
					}
				}
			}
		}
	}

	.textImage image {
		width: 50rpx;
	}

	.prj_imgs_content {
		display: flex;
		align-items: center;
		width: 96%;
		margin-left: 6%;
		// background-color: red;	
	}

	.prj_img_detail {
		width: 21%;
		height: 140rpx;
		margin-top: 10rpx;
		border-radius: 20rpx;
		margin-bottom: 30rpx;
		text-align: center;
		line-height: 140rpx;
		margin-right: 15rpx
	}

	.aaa {
		width: 94%;
		height: 100%;
		opacity: 0.6;
	}

	.bbb {
		width: 100%;
		height: 100%;
	}

	// 暂无数据
	.noneData {
		display: flex;
		align-items: center;
		flex-direction: column;
		justify-content: space-around;

		>image {
			width: 60rpx;
			height: 60rpx;
		}

		>text {
			margin-top: 20rpx;
			font-size: 26rpx;
			opacity: 0.6;
		}
	}

	.textView {
		font-size: 26rpx;
	}

	.projest-cyl {
		margin-right: 7rpx;
		color: rgb(44, 111, 245);
		display: flex;
	}

	.strip {
		/* 父元素相对定位 */
		position: relative;
		width: 360rpx;
		height: 12rpx;
		color: rgba(80, 80, 80, 1);
		background-color: #F5F5F5;
		border-radius: 7rpx;
		font-size: 28rpx;
		line-height: 150%;
		text-align: center;
	}

	.blue {
		height: 14rpx;
		color: rgba(80, 80, 80, 1);
		background-color: red;
		border-radius: 10rpx;
		font-size: 28rpx;
		line-height: 150%;
		text-align: center;
	}

	/deep/.uni-progress-info {
		font-size: 12px !important;
	}

	.promptBox {
		display: flex;
		flex-direction: column;
		align-items: center;

		>view {
			display: flex;
			flex-direction: column;
			align-items: center;

			>image {
				width: 600rpx;
				height: 1000rpx;
			}
		}

		.closeeBox {
			width: 600rpx;
			background-color: #fff;
			text-align: center;
			padding-bottom: 20rpx;
			line-height: 50rpx;

			>view {
				position: relative;
				top: 10rpx;
				left: 120px;
				width: 50rpx;
				height: 50rpx;
				border-radius: 50rpx;
				border: 1px solid red;
				text-align: center;
				line-height: 52rpx;
			}
		}

	}
</style>
<style lang="scss">
	.denttal {
		width: 170rpx;
		height: 170rpx;
		margin-left: 20rpx;
		border-radius: 20rpx;
	}

	.prj_img_detail {
		width: 140rpx;
		height: 140rpx;
		margin-top: 10rpx;
		border-radius: 20rpx;
		margin-bottom: 30rpx;
		text-align: center;
		line-height: 140rpx;
		margin-right: 15rpx
	}
</style>